package top.scauwlt;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @Author wmm
 * @Date 2022/7/28 21:34
 */
@Data
@ConfigurationProperties(prefix = "my-rpc")
public class RpcProperties {
    /**
     * netty端口，默认9998
     */
    private Integer port;

    /**
     * 负载均衡算法：
     * 默认 consistent_hash
     * 可选：random
     */
    private String loadBalance;

    /**
     * 压缩算法：
     * 默认 gzip、custom(自定义)
     */
    private String compress;

    /**
     * 序列化算法：
     * 默认 kryo
     * 可选 hessian、protostuff、custom(自定义)
     */
    private String serialization;

    private RegistryProperties registry = new RegistryProperties();

    @Data
    public class RegistryProperties {
        /**
         * 注册中心类型
         * 默认 zk
         * 可选 nacos
         */
        private String name;

        /**
         * 注册中心地址
         * 默认 127.0.0.1:2181
         */
        private String address;
    }
}
